/*
 * @Descripttion: 设置、获取cookie
 * @Author: whl
 * @Date: 2022-06-29 10:27:36
 * @LastEditors: whl
 * @LastEditTime: 2022-06-29 10:27:36
 */
export default {
  setCookie (name, value, options) {
    if (typeof value !== 'undefined') { // name and value given, set cookie
      options = options || {}
      if (value === null) {
        value = ''
        options = Object.assign({}, options) // clone object since it's unexpected behavior if the expired property were changed
        options.expires = -1
      }
      var expires = ''
      if (options.expires && (typeof options.expires === 'number' || options.expires.toUTCString)) {
        var date
        if (typeof options.expires === 'number') {
          date = new Date()
          date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000))
        } else {
          date = options.expires
        }
        expires = '; expires=' + date.toUTCString() // use expires attribute, max-age is not supported by IE
      }
      // NOTE Needed to parenthesize options.path and options.domain
      // in the following expressions, otherwise they evaluate to undefined
      // in the packed version for some reason...
      var path = options.path ? '; path=' + (options.path) : ''
      var domain = options.domain ? '; domain=' + (options.domain) : ''
      var secure = options.secure ? '; secure' : ''
      document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('')
    }
  },
  getCookie (name) {
    var cookieValue = ''
    if (document.cookie && document.cookie !== '') {
      var cookies = document.cookie.split(';')
      for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i].replace(/(^\s*)|(\s*$)/g, '')
        // Does this cookie string begin with the name we want?
        if (cookie.substring(0, name.length + 1) === (name + '=')) {
          cookieValue = decodeURIComponent(cookie.substring(name.length + 1))
          break
        }
      }
    }
    return cookieValue
  }
}
